#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "header.h"



/*
        Cryptage char par char par changement de base. On utilise le cryptage simple précédement défini.
@param char c : char à convertir
@param char b : char de "base"

@return : char. Retourne le char c converti dans la base b
*/
char CBKC(char c, char b)
{
  return CSKC(c, (b - 97));
}


/*
        Cryptage d'un mot par changement de base.

@param char* w : mot à convertir, w n'est pas vide
@param char* k : clé, k n'est pas vide

@return char*. Retourne le mot "w" converti grâce à la clé "k"
*/
char* CBK(char* w, char* k)
{
        char* result = (char*) malloc(strlen(w)*sizeof(char));
        int i,j=0;
        int key_size = strlen(k);
        for (i = 0; i < strlen(w); i++)
        {
            if (j==key_size)
            {
                j=0;
            }
            result[i]=CBKC(w[i],k[j]);
            j++;
        }
return result;
}
